#ifndef LOGGER_HEADER_VIZMF_PROJECT
#define LOGGER_HEADER_VIZMF_PROJECT

#include <list>
#include "src/core/logger/loggerrecord.h"

class Logger
{
public:
  typedef std::list<LoggerRecord> container_type;

  Logger() : priority(LoggerRecord::Low) {}
  void addRecord(const LoggerRecord& record)
  {
    records.push_back(record);
  }
  void setMark() { mark = --records.end(); }
  container_type warnMessages() { return container_type( ++mark, records.end() ); }
private:
  container_type records;
  container_type::iterator mark;
  LoggerRecord::RecordPriority priority;
};

#endif // LOGGER_H
